package dao.interfaces.Gae;

import java.util.List;

import dao.transferObjects.UsuarioTO;
import dao.transferObjects.Administrador.ProyectoTO;
import dao.transferObjects.Gae.CursoTO;
import dao.transferObjects.Gae.GaeTO;

public interface IGae {
	
	public int reAsignarRut_Gae(GaeTO gae, UsuarioTO usuario);
	public int obtenerSgteIDGae();
	
	public List<GaeTO> obtenerGaesCurso(CursoTO curso);
	public List<GaeTO> obtenerGaesCursoAsociados(CursoTO curso);
	public List<GaeTO> obtenerGaesCursoNoAsociados(CursoTO curso);
	
	//public int asignarAlumnoRepresentant(GaeTO gae);
	//public int asignarAlumnoGae(GaeTO gae, AlumnoTO alumno);
	
	public List<GaeTO> obtener_gaes_asociados_a_un_proyecto_X(ProyectoTO proyecto);
	
	public int crearGAE(GaeTO gae);
	public int modificarGae(GaeTO gaeNuevo);
	public int eliminarGae(GaeTO gae);
	
	public int asignarProyectoGae(ProyectoTO proyecto, GaeTO gae);
	public int desAsignarProyectoGae(ProyectoTO proyecto, GaeTO gae);
	
	public double obtenerPromedioGae(int id_gae, int rut_gae);
	
	public int asignarNotaProducto(double nota, int id_gae, int rut_gae, int numero_producto);
	public int asignarNotaSocio(double promedioPautasGae, int id_gae, int rut_gae);
	public int asignarNotaFinal(int id_gae, int rut_gae);
}
